package com.itheima.homework;

/*
请定义一个方法，实现交换整数数组中两个索引上的元素值。并调用方法，查看运行效果。
例如，数组为{11, 22, 33, 44, 55, 66}，交换索引1和索引5位置上的元素，结果为{11, 66, 33, 44, 55, 22}
 */
public class Homework03 {
    public static void main(String[] args) {
        int[] arr = {11, 22, 33, 44, 55, 66};
        exchange(arr,1,5);

        //打印交换后的数组内容
        for (int i = 0; i < arr.length; i++) {
            System.out.print(arr[i] + " ");
        }
    }

    /*
        功能: 交换整数数组中两个索引上的元素值        -- 方法名: exchange
        条件: 给我一个整数数组,并且告诉我是哪两个索引 -- 参数: int[] arr, int index1, int index2
        结果: 不需要返回任何数据                      -- 返回值类型: void
     */
    public static void exchange(int[] arr, int index1, int index2){
        if(index1 < 0 || index1 >= arr.length){
            System.out.println("参数有误,请检查索引!");
            return;
        }
        if(index2 < 0 || index2 >= arr.length){
            System.out.println("参数有误,请检查索引!");
            return;
        }

        //索引正确, 我们才做交换逻辑
        /*int temp = arr[index1];
        arr[index1] = arr[index2];
        arr[index2] = temp;*/

        arr[index1] = arr[index1] ^ arr[index2];
        arr[index2] = arr[index1] ^ arr[index2];
        arr[index1] = arr[index1] ^ arr[index2];

    }

}
